package com.achievement.domain.vo;

import com.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * AppraisalProductVO
  */

@Data
public class AppraisalProductVO {

    /** ID  */
    private String id;

    /** 名称  */
    @Excel(name = "成果名称")
    @ApiModelProperty(value = "成果名称")
    private String name;

    /** 所属单位ID  */
    @Excel(name = "所属单位")
    @ApiModelProperty(value = "所属单位ID")
    private String unitId;

    /** 鉴定部门  */
    @Excel(name = "鉴定部门")
    @ApiModelProperty(value = "鉴定部门")
    private String appraisalUnit;

    /** 鉴定日期  */
    @Excel(name = "鉴定日期",dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "鉴定日期")
    private Date appraisalDate;

    /** 鉴定结论  */
    @Excel(name = "鉴定结论")
    @ApiModelProperty(value = "鉴定结论")
    private String appraisalResultId;

    /** 鉴定号  */
    @Excel(name = "鉴定号")
    @ApiModelProperty(value = "鉴定号")
    private String appraisalCode;

    /** 完成形式  */
    @Excel(name = "完成形式")
    @ApiModelProperty(value = "完成形式")
    private String completeTypeId;

    /** 学科门类  */
    @ApiModelProperty(value = "学科门类")
    private String subjectClassId;

    /** 一级学科  */
    @ApiModelProperty(value = "一级学科")
    private String subjectId;

    /** 二级学科  */
    @ApiModelProperty(value = "二级学科")
    private String subject2Id;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String projectSourceId;

    /** 学校署名  */
    @Excel(name = "学校署名",readConverterExp ="0=第一单位,1=非第一单位")
    @ApiModelProperty(value = "学校署名")
    private String schoolSign;

    /** 完成单位  */
    @Excel(name = "完成单位")
    @ApiModelProperty(value = "完成单位")
    private String completeUnits;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String fileIds;

    /** 备注  */
    @ApiModelProperty(value = "备注")
    private String note;

    /** 第一作者ID  */
    @ApiModelProperty(value = "第一作者ID")
    private String firstAuthorId;

    /** 第一作者名称  */
    @ApiModelProperty(value = "第一作者名称")
    private String firstAuthorName;

    /** 第一作者职工号  */
    @ApiModelProperty(value = "第一作者职工号")
    private String firstAuthorAccount;

    /** 第一作者职称  */
    @ApiModelProperty(value = "第一作者职称")
    private String firstAuthorTitleId;

    /** 第一作者性别  */
    @ApiModelProperty(value = "第一作者性别")
    private String firstAuthorSexid;

    /** 第一作者学历  */
    @ApiModelProperty(value = "第一作者学历")
    private String firstAuthorEduLevelId;

    /** 第一作者学位  */
    @ApiModelProperty(value = "第一作者学位")
    private String firstAuthorEduDegreeId;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String divisionId;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private Long authorNumber;

    /** 审核状态  */
    @Excel(name = "审核状态",readConverterExp ="-2=待完善,-1=暂存,1=审批中,2=审批通过,3=审批不通过")
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    /** 审核日期  */
    @ApiModelProperty(value = "审核日期")
    private String checkdate;

    /** 审核人  */
    @ApiModelProperty(value = "审核人")
    private String checker;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String authorpids;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String authorunitids;

    /** $column.columnComment  */
    @ApiModelProperty(value = "${comment}")
    private String completedatastatus;

    /**
     * 所有完成人
     */
    @Excel(name = "所有完成人")
    private String authornames;

    /**
     * 作者信息列表
      */
    @ApiModelProperty(value = "作者信息列表")
    private List<AppraisalProductAuthorVO> authorList;

    private List<Map<String,String>> fileList;

    private String processInstanceId;

    private Boolean isAuditor;

    private String taskId;
}
